

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HSF2SF(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HSF2SF.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HSF2SF, self).__init__(name='HSF2SF', num_nodes=14, edges=[])
        
        # Add the edges
        self.add_edges([(5, 8), (8, 6), (5, 9), (9, 3), (13, 0), (4, 0), (11, 0), (6, 1), (1, 3), (2, 10), (2, 11), (3, 13), (7, 4), (10, 7), (6, 12), (12, 7)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """SF2SF"""
        self["GUID__"] = UUID('c3b0004b-492f-445e-8336-671f002b536b')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """Female_S"""
        self.vs[0]["name"] = """f"""
        self.vs[0]["GUID__"] = UUID('2356d995-b772-41ee-8a8c-9b682ef044ac')
        self.vs[1]["mm__"] = """directLink_T"""
        self.vs[1]["GUID__"] = UUID('a96bcf61-23d3-455b-9d19-d8fc6fbe99b9')
        self.vs[2]["mm__"] = """MatchModel"""
        self.vs[2]["GUID__"] = UUID('30712ee2-dc68-4828-9a09-6d1d2e4d469c')
        self.vs[3]["mm__"] = """Female_T"""
        self.vs[3]["name"] = """f"""
        self.vs[3]["GUID__"] = UUID('956dcfa5-72d5-42d4-8343-7f3cb8b00a64')
        self.vs[4]["mm__"] = """indirectLink_S"""
        self.vs[4]["GUID__"] = UUID('a90d876f-e934-44bc-aaf1-5bda92300988')
        self.vs[5]["mm__"] = """ApplyModel"""
        self.vs[5]["GUID__"] = UUID('1b79a299-dc8e-4a4f-bc05-b4f5e6277d7a')
        self.vs[6]["mm__"] = """Station_T"""
        self.vs[6]["name"] = """s"""
        self.vs[6]["GUID__"] = UUID('06d08c6b-d6e2-4da3-bab0-6d758c92777c')
        self.vs[7]["mm__"] = """Station_S"""
        self.vs[7]["name"] = """s"""
        self.vs[7]["GUID__"] = UUID('edf1684e-6b87-4367-b282-fc38a8331352')
        self.vs[8]["mm__"] = """apply_contains"""
        self.vs[8]["GUID__"] = UUID('6da6ff64-6aa3-451e-9652-a03c2c4344a7')
        self.vs[9]["mm__"] = """apply_contains"""
        self.vs[9]["GUID__"] = UUID('4138f2a4-fac1-498c-9805-cc20a77ed322')
        self.vs[10]["mm__"] = """match_contains"""
        self.vs[10]["GUID__"] = UUID('7a573660-4ace-4858-a266-de3a3a6ebccb')
        self.vs[11]["mm__"] = """match_contains"""
        self.vs[11]["GUID__"] = UUID('68af15c2-dcee-4395-81b3-d2f1bd1af482')
        self.vs[12]["mm__"] = """backward_link"""
        self.vs[12]["GUID__"] = UUID('4c5675df-4f9f-4b1a-b7d8-ea15950920ef')
        self.vs[13]["mm__"] = """backward_link"""
        self.vs[13]["GUID__"] = UUID('edb8f27a-1eda-4e41-934e-1a3a3674c84d')

